export interface LoginParams {
  username: string;
  password: string;
}

export interface TenantItem {
  id: string
  tenantName: string
}

export interface TokenInfo {
  isLogin: boolean;
  loginDevice: string;
  loginId: string;
  loginType: string;
  sessionTimeout: number;
  tag: null;
  tokenActiveTimeout: number;
  tokenName: string;
  tokenSessionTimeout: number;
  tokenTimeout: number;
  tokenValue: string;
}

export interface UserInfo {
  createBy: null | string; // 创建者，可能为 null 或字符串
  createTime: string; // 创建时间，ISO 8601 格式
  id: string; // 用户 ID
  isDeleted: number; // 是否已删除，0 表示未删除
  isLocked: number; // 是否已锁定，0 表示未锁定
  isPhoneLogin: number; // 是否通过手机登录，1 表示是
  lastLoginErrorTime: null | string; // 上次登录错误时间，可能为 null 或字符串
  loginErrorCount: number; // 登录错误次数
  nickname: string; // 昵称
  orgId: null | string; // 组织 ID，可能为 null 或字符串
  password: string; // 加密后的密码
  passwordLevel: string; // 密码强度级别
  phone: string; // 手机号码
  realName: string; // 真实姓名
  remark: string; // 备注
  updateBy: string; // 更新者
  updateTime: null | string; // 更新时间，可能为 null 或字符串
  username: string; // 用户名
}

export interface LoginResponse {
  roleCodes: string
  tenants: TenantItem[]
  tokenInfo: TokenInfo
  user: UserInfo
}